|
Cytosim
PI
Cytoskeleton Simulator
|
A Mecable is an Object made of points that can can be simulated in Meca.
Mecable defines an interface that is implemented in Bead and PointSet. Mecable is also a Buddy, and can thus be part of an Organizer.
Public Member Functions | |
| Mecable () | |
| The constructor resets the pointers. | |
| virtual | ~Mecable () |
| Destructor de-allocates memory. | |
| virtual unsigned | nbPoints () const =0 |
| Number of points. | |
| virtual Vector | posP (unsigned int P) const =0 |
| return position of point P | |
| virtual void | putPoints (real[]) const =0 |
| copy current coordinates to provided array | |
| virtual void | getPoints (const real[])=0 |
| replace current coordinates of points by values from the provided array | |
| virtual Vector | netForceP (unsigned int p) const =0 |
| return Force on point p calculated at previous step by Brownian dynamics | |
| virtual void | getForces (const real[])=0 |
| replace current forces by the ones provided | |
| void | matIndex (Matrix::index_type index) |
| Store the index where coordinates are located in Meca. | |
| Matrix::index_type | matIndex () const |
| Index in mB of the first point. the index in the vectors is DIM*matIndex() More... | |
| bool | useBlock () const |
| Tell Meca to use preconditionning on this object or not. | |
| void | useBlock (bool b) |
| change preconditionning flag | |
| real * | allocateBlock (unsigned) |
| Allocate a block of the requested size. | |
| real * | block () const |
| return allocated block | |
| virtual void | setDragCoefficient ()=0 |
| Calculate the mobility coefficient. | |
| virtual real | dragCoefficient () const =0 |
| The total drag coefficient of object ( force = drag * speed ) | |
| virtual void | prepareMecable ()=0 |
| prepare the Mecable to solve the mechanics in Meca::solve() More... | |
| virtual real | addBrownianForces (real *rhs, real sc) const |
| Add Brownian noise terms to a force vector (sc = kT / dt) | |
| virtual void | addRigidity (const real *X, real *Y) const |
| Add rigidity terms Y <- Y + Rigidity * X. More... | |
| virtual void | addRigidityMatUp (Matrix &mB, int offset) const |
| Add rigidity matrix elements (which should be symmetric) to provided matrix. More... | |
| virtual void | setSpeedsFromForces (const real *X, real *Y, real sc=1.0, bool rhs=false) const =0 |
| Calculate speeds from given forces. More... | |
| virtual void | makeProjectionDiff (const real *forces) |
| set the terms obtained from the linearization of the Projection operator, from the given forces More... | |
| virtual void | addProjectionDiff (const real *X, real *Y) const |
| add terms from projection correction terms: Y <- Y + P' * X; More... | |
| virtual void | setInteractions (Meca &) const |
| add the interactions (for example due to confinements) | |
Public Member Functions inherited from Object | |
| Object () | |
| constructor | |
| virtual Tag | tag () const =0 |
| an ASCII character identifying the ObjectSet corresponding to this object | |
| virtual const Property * | property () const =0 |
| Property associated with the Object. | |
| virtual void | write (OutputWrapper &) const =0 |
| write Object data to file | |
| virtual void | read (InputWrapper &, Simul &)=0 |
| read Object from file, within the Simul | |
| std::string | reference () const |
| concatenation of [ tag(), property()->index(), number() ] in plain ascii More... | |
| void | writeReference (OutputWrapper &) const |
| write a reference that identifies the Object uniquely More... | |
| void | writeReference (OutputWrapper &, Tag tag) const |
| write a reference, but using the provided Tag More... | |
| int | mark () const |
| birth mark value | |
| void | mark (int m) |
| set birth mark | |
| int | fleck () const |
| fleck value (not stored in trajectory files) | |
| void | fleck (int f) const |
| set fleck (the value is not stored in trajectory files) | |
| Object * | next () const |
| extends Node::next(), with a cast to preserve type | |
| Object * | prev () const |
| extends Node::prev(), with a cast to preserve type | |
Public Member Functions inherited from Node | |
| Node () | |
| constructor set as unlinked | |
| virtual | ~Node () |
| destructor More... | |
| bool | linked () const |
| true if Node is linked | |
| Node * | next () const |
| the next Node in the list, or zero if this is last | |
| Node * | prev () const |
| the previous Node in the list, or zero if this is first | |
| NodeList * | list () const |
| the list where the object is linked, or zero | |
| ObjectSet * | objset () const |
| return associated ObjectSet | |
Public Member Functions inherited from Inventoried | |
| Inventoried () | |
| initialize (name=0) | |
| ~Inventoried () | |
| destructor | |
| void | number (Number n) |
| change the serial number | |
| Number | number () const |
| serial number : a integer identifier, unique within each class | |
Public Member Functions inherited from Movable | |
| Movable () | |
| constructor | |
| virtual | ~Movable () |
| destructor | |
| virtual Vector | position () const |
| return the position in space of the object | |
| virtual void | setPosition (Vector const &) |
| move object to specified position More... | |
| virtual bool | translatable () const |
| true if object accepts translations (default=false) | |
| virtual void | translate (Vector const &) |
| move the object ( position += given vector ) More... | |
| virtual bool | rotatable () const |
| true if object accepts rotations (default=false) | |
| virtual void | rotate (Rotation const &) |
| rotate the object around the origin of coordinates More... | |
| virtual void | rotateP (Rotation const &) |
| rotate the object around its current position More... | |
| virtual void | foldPosition (Modulo const *) |
| perform modulo for periodic boundary conditions More... | |
Public Member Functions inherited from Buddy | |
| virtual | ~Buddy () |
| upon destruction, goodbye is called for all buddies | |
| void | hello (Buddy *b) |
| will make this and b mutual buddies | |
| virtual void | goodbye (Buddy *) |
| this is called everytime a known buddy is destroyed | |
| Buddy * | buddy (unsigned int ix) const |
| return buddy at index ix | |
| void | buddy (Buddy *b, unsigned int ix) |
| replace the buddy that may have been at index ix | |
Additional Inherited Members | |
Static Public Member Functions inherited from Object | |
| static std::string | strReference (char, int, Number, int) |
| build a string reference by concatenating (tag, property_index, number, mark) More... | |
| static void | readReference (InputWrapper &, int &, Number &, int &, char pretag) |
| read a reference (property_index, number, mark) from input More... | |
| static void | writeNullReference (OutputWrapper &) |
| write a reference that does not refer to any Object | |
Static Public Member Functions inherited from Movable | |
| static Vector | readPrimitive (std::istream &, const Space *) |
| read a position specified with primitives, such as 'circle 5', etc. More... | |
| static Vector | readPosition (std::istream &, const Space *) |
| read a position in space More... | |
| static Vector | readDirection (std::istream &, const Vector &, const Space *) |
| read an orientation, and return a normalized vector More... | |
| static Rotation | readRotation (std::istream &, const Vector &, const Space *) |
| read a rotation specified in is, at position pos More... | |
Static Public Attributes inherited from Object | |
| static const Tag | TAG = 'v' |
| Object::TAG = 'v' represents the 'void' pointer. | |
Protected Attributes inherited from Node | |
| Node * | nNext |
| the next Node in the list | |
| Node * | nPrev |
| the previous Node in the list | |
Protected Attributes inherited from Inventoried | |
| Number | nNumber |
| object identifier, unique within the class defined by tag() | |
This is enabled by a keyword PROJECTION_DIFF in meca.cc
Reimplemented in RigidFiber.
Rigidity can be any force acting internally to the objects for example, the bending rigidity of Fibers. This version is used to calculate the Matrix * Vector in Meca.
Reimplemented in RigidFiber.
|
inlinevirtual |
The function should add terms to the upper part of matrix mB, at indices starting from offset. It should fill at maximum the upper part of the diagonal block corresponding to indices [offset - offset+DIM*nbPoints()]. This version is used to build the preconditionner in Meca. It should be consistent with addRigidity(): add the same terms.
Reimplemented in RigidFiber.
|
inlinevirtual |
This is enabled by a keyword PROJECTION_DIFF in meca.cc
Reimplemented in RigidFiber.
|
inline |
X1 is stored at DIM*matIndex(), Y1 at DIM*matIndex()+1, Z1 at DIM*matIndex()+2 then X2, Y2, Z2...
|
pure virtual |
This is called in Meca, before the system is solved, and it should prepare all the variables necessary for:
|
pure virtual |
The function should perform Y <- sc * mobility * X.
Implemented in Sphere, Bead, RigidFiber, and Solid.